Voicemail is a centralized system managing telephone messages for a user, and is commonly seen in enterprise-type environments where a voicemail system provides telephone message management for a large number of people. A typical voicemail system can allow the answering and recording of multiple voicemail messages in parallel. Additional functionality often associated with voicemail systems is the ability to store incoming voice messages in personalized mailboxes associated with a particular user's phone number or extension. Users are capable of forwarding messages to another mailbox, and sending messages to one or more voicemail users. In conjunction with both of these functions, a user can add a voice introduction to a forwarded message and store a voice message for future delivery to one or more other users.
Other functionality associated with voicemail systems is the ability to make calls to a telephone or paging service to notify a user a message has arrived in their mailbox, as well as the ability to provide messaging notification by SMS, a special dial tone, one or more lights, or using caller ID signaling. Furthermore, a user can be alerted to the existence of a new voicemail message through integration and communication between the voice message server and a mail client. For example, a voicemail server can forward a .wav file that includes the left message to an email server that then displays the voicemail message as a playable file in a user's mailbox.
There are also automated voicemail systems for processing incoming speech based on messages. For example, a voicemail processor includes a transcription component for transcribing one or more voicemail messages into text, a text retrieval component for indexing the one or more transcribed voicemail messages, an information extraction component for identifying selected information within the one or more indexed voicemail messages, and a user interface for displaying the identified selected information from the one or more indexed voicemail messages.
Interactive Voice Response (IVR) is an interactive technology that allows a system to detect a voice and keypads input, and also provide information and/or queries to a user. IVR technology is used extensively in telecommunications, such as in call centers, and is being introduced into other environments. A typical IVR system is based around a menu structure that provides various voice prompts to a user. Dual-Tone Multi-Frequency (DTMF) signals, entered via the telephone keypad and natural language speech recognition interpret the caller's responses to various voice prompts. IVR systems can be embodied as equipment installed at a customer's premise, equipment installed at the PSTN, provided by an application service provider, and/or a virtually hosted IVR.
An Automatic Call Distribution system (ACD) is often a first point of contact when many large businesses are contacted by a customer. An ACD typically uses digital storage devices to play greetings or announcements, and typically routes a caller without prompting for input. An IVR can play announcements and request an input from the caller. This information can be used to profile a caller and route the call to an agent with a particular skill set. In addition, Interactive Voice Response (IVR) can be used as a front-end to a call center operation by identifying the needs of the caller. Information can be obtained from the caller such as account numbers, name, calling from number, and the like. Answers to simple questions such as account balances or pre-recorded information can be provided without operator intervention. Account numbers from the IVR can be compared to caller ID data for security reasons and additional IVR responses can optionally be required if the caller ID data does not match the account record.
IVR call flow can be created and managed in a multitude of ways. A traditional IVR was typically dependant on proprietary programming or scripting languages, whereas more modern IVR applications can be structured similar to www pages using voice xml, SALT, or t-xml languages. The ability to use xml developed applications allows a web server to act as an application server, freeing the developer to focus on a call flow as opposed to the actual coding.
Many tools are available to further simplify the application development process. A call flow diagram can be drawn with a GUI tool and the application code (voice xml or SALT) can be automatically generated. Additionally, many tools provide natural extensions to assist with software integration, such as http interfacing to websites and java interfaces for connecting databases.
An Auto Attendant system, also known as an Automated Attendant, allows callers to be automatically transferred to an extension without the intervention of an operator. An Automated Attendant also offers a simple menu system (e.g., for billing press 1, for service press 2, for technical support press 3, etc.). Many Auto Attendants also allow a caller's access to an operator by dialing a number, such as “0.”
While IVR systems and Auto Attendants do share some commonality in terms of functionality, Automated Attendants are traditionally directed toward replacing a live operator to assist with call routing. In contrast, an IVR can be far more sophisticated and perform numerous types of functions to assist with telephone-based banking, accounting inquiries, and the like.
An IVR system interacts with a caller according to a call-flow diagram. A call-flow diagram can by constructed by a number of elements with each element prompting the caller to provide a response. These responses can be one or more of a voice response, a DTMF response, and a TTY response. For example, the IVR systems menu can be based on the following elements: a prompt element, a menu element, a speech element, a digit element, a recording element, a call transfer element, and a go-to element. The prompt element plays one or more audio or multimedia prompts. These prompts can include pre-recorded audio or multimedia files, or automatically generated audio using, for example, text-to-speech. The menu element tells the IVR system to expect a touch-tone key response. The speech element tells the IVR system to expect a speech response from the caller. The digit element tells the IVR system to expect a series of touch tone keys that, for example, are concluded with the pound key. For example, this element can be used to collect an account number or SSN. The recording element tells the IVR system to expect the caller to record a voice message. The caller can hang up the phone or press the pound key when finished to complete a recording. The call transfer element transfers the call to another phone number optionally with use of a screen pop. The go-to element allows the IVR system go-to another element in IVR system's call flow.
Jitter is the time variation of a characteristic of periodic signal in electronics and telecommunications, often in relation to a reference clock source. Jitter may be observed in characteristics such as the frequency of successive pulses, the signal amplitude or phase of periodic signals, or the like. Jitter is a significant and usually undesirable factor in the design of almost all communications links. A jitter buffer, also known as a de-jitter buffer, counters jitter introduced by queuing in packet switched networks so that a continuous play-out of audio, video, or multimedia transmitted over the network can be insured. The maximum jitter that can be removed by a jitter buffer is equal to the buffering delay introduced before starting the play-out of the media stream. Some systems use algorithm-based delay-optimal jitter buffers that are capable of adapting the buffering delay to changing network jitter characteristics. These adaptive jitter buffers and the adaption logic are typically based on the jitter estimates computed from the arrival characteristics of the media packets. Adaptive jitter buffering involves introducing discontinuities in a media play-out, which may appear offensive to the listener or the viewer. Adaptive jitter buffering is usually carried out for audio play-outs that feature voice activity detection or discontinuous transmission encoded audio, that allows the links of the silence periods to be adjusted, thus minimizing the perceptual impact of the adaptation.
Another aspect of jitter buffers is important to consider. Specifically, what are commonly referred to as “lost packets” or “missing packets” in VoIP systems are often actually delayed packets. They will arrive at their destination eventually. A VoIP device that is able to wait longer for the packets to arrive—i.e., a system that has a larger jitter buffer—may be expected to provide better audio quality when used in networks in which some packets are delayed, but at the expense of greater latency between the time of transmission and the time of delivery by the buffer to the downstream resource.